# -*- coding: utf-8 -*-
"""
@Time ： 2020/11/4 21:26
@Auth ： Mr. William 1052949192
@Company ：特斯汀学院 @testingedu.com.cn
@Function ：测试类的封装
"""
import os

import pytest


class Test_UserInfo:
    """
    测试类
    """

    def setup_class(self):
        """
        测试类级别的初始化setup
        整个测试类执行前，执行一次
        :return:
        """
        print('只执行一次打开浏览器')

    def setup(self):
        """
        测试函数级别的初始化setup
        在每一个测试用例执行前都会执行一次
        :return:
        """
        print('打开浏览器')

    def test_login(self):
        """
        登录用例
        :return:
        """
        print("登录")

    @pytest.fixture()
    def before_userinfo(self):
        """
        只在某些用例实现setup和teardown
        优先于用例级别的setup
        比用例级别的teardown后执行
        :return:
        """
        print('userinfo的初始化')
        yield
        print('userinfo的结束')

    def test_userinfo(self, before_userinfo):
        """
        个人信息
        :return:
        """
        print('修改个人信息')

    def teardown(self):
        """
        函数级别的结束teardown
        :return:
        """
        print('关闭浏览器')

    def teardown_class(self):
        """
        测试类级别的结束：teardown
        :return:
        """
        print('只关闭一次浏览器')


if __name__ == '__main__':
    # temp文件是用来放allure生成报告的结果数据的
    pytest.main(['-s', 'example02.py','--alluredir', './temp'])
    # 执行命令行
    os.system('allure generate ./temp -o ./report --clean')

